<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>函数</title>
    <script>
        // 创建一个函数，使其可以求任意两个数的和
        function sum(a, b) {
            console.log(a + b);
        }

        // sum(123, 456);
        // sum(true, 456);
        // sum('hello', 456);

        /*
            在定义函数时，可以在()中指定数量不等的形参（形式参数）
               定义形参就相当于在函数中声明了两个变量，但是没有赋值
         */
        function fn(a, b) {
            console.log('a =', a);
            console.log('b =', b);
        }
        /*
            调用函数时，可以在()传递数量不等的实参（实际参数）
                实参会赋值给其对应的形参

            JS中不会检查实参的类型和数量
                - JS的实参可以使任意的数据类型
                - JS中函数调用时可以传递任意数量的实参
                    如果实参的数量等于形参，则实参和形参一一对应
                    如果实参的数量多于形参，则多于的实参将不会被使用
                    如果实参的数量小于形参，则没有实参对应的形参将会赋值为undefined
         */
        fn({},{});
        // fn();

    </script>
</head>
<body>

</body>
</html>